From 324df3e3dfb80bba59ea143cbb8a0ee18cc2162d Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Sun, 29 Oct 2006 09:27:19 -0700 Subject: [PATCH] [IA64] MCA support - Add lid and percpu paddr table Signed-off-by: Yutaka Ezaki Signed-off-by: Masaki Kanno Signed-off-by: Kazuhiro Suzuki --- xen/arch/ia64/xen/mm_init.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/xen/arch/ia64/xen/mm_init.c b/xen/arch/ia64/xen/mm_init.c index f9a44a43de..cecb879551 100644 --- a/xen/arch/ia64/xen/mm_init.c +++ b/xen/arch/ia64/xen/mm_init.c @@ -10,6 +10,11 @@ #include #include +#include +#include +#include + +struct ia64_mca_tlb_info ia64_mca_tlb_list[NR_CPUS]; extern void ia64_tlb_init (void); @@ -93,11 +98,13 @@ ia64_mmu_init (void *my_cpu_data) cpu = smp_processor_id(); -#ifndef XEN /* mca handler uses cr.lid as key to pick the right entry */ ia64_mca_tlb_list[cpu].cr_lid = ia64_getreg(_IA64_REG_CR_LID); /* insert this percpu data information into our list for MCA recovery purposes */ +#ifdef XEN + ia64_mca_tlb_list[cpu].percpu_paddr = __pa(my_cpu_data); +#else ia64_mca_tlb_list[cpu].percpu_paddr = pte_val(mk_pte_phys(__pa(my_cpu_data), PAGE_KERNEL)); /* Also save per-cpu tlb flush recipe for use in physical mode mca handler */ ia64_mca_tlb_list[cpu].ptce_base = local_cpu_data->ptce_base; -- 2.30.2